﻿/**
 * @file PyFITKMaterialsFluid.h
 * @brief 流体材料 为python装饰器接口准备的封装类
 * @author wangning (2185896382@qq.com)
 * @date 2024-12-03
 */
#ifndef _PY_MATERIALS_FLUID_H___
#define _PY_MATERIALS_FLUID_H___

#include <QString>
#include "FITKAcousticsPhysicsAPI.h"
#include "PyFITKMaterialsBase.h"

namespace Acoustics 
{

    /**
     * @brief 流体材料 为python装饰器接口准备的封装类
     * @author wangning (2185896382@qq.com)
     * @date 2024-12-03
     */
    class FITKAcousticsPhysicsAPI PyFITKMaterialsFluid :public PyFITKMaterialsBase
    {
    public:
        explicit PyFITKMaterialsFluid(const QString& name);
        explicit PyFITKMaterialsFluid() = default;
        virtual ~PyFITKMaterialsFluid() = default;
        /**
         * @brief  设置属性
         * @param[i]  soundSpeed：声速
         * @param[i]  density：密度
         * @param[i]  viscosity：运动粘度
         * @param[i]  specificHeat：比热容
         * @param[i]  type：1气体，2液体
                            当选择气体时，普朗特系数默认0.7，当选择液体时，普朗特系数默认7
                            摩尔质量默认为0
         * @author wangning (2185896382@qq.com)
         * @date   2024-12-03
         */
        bool setFluidProp(double soundSpeed, double density, double viscosity, double specificHeat, int type);
        /**
         * @brief  创建材料
         * @author wangning (2185896382@qq.com)
         * @date   2024-12-03
         */
        bool createMaterial(const QString& name);
    private:
    };
}
#endif



